---
id: 5900f5101000cf542c510022
title: 'Завдання 419: послідовність «глянь і скажи»'
challengeType: 1
forumTopicId: 302088
dashedName: problem-419-look-and-say-sequence
---

# --description--

Послідовність «глянь і скажи» виглядає так: 1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, ...

Послідовність починається з 1, а кожен наступний елемент отримуємо шляхом опису повторюваних цифр попереднього члена.

Краще рахувати вголос:

1 — «одна одиниця» $→ 11$

11 — «дві одиниці» $→ 21$

21 — «одна двійка та одна одиниця» $→ 1211$

1211 — «одна одиниця, одна двійка та дві одиниці» $→ 111221$

111221 — «три одиниці, дві двійки та одна одиниця» $→ 312211$

...

Визначте $A(n)$, $B(n)$ та $C(n)$ як кількість одиниць, двійок та трійок в $n$-ому елементі послідовності. Можна довести, що $A(40) = 31\\,254$, $B(40) = 20\\,259$ та $C(40) = 11\\,625$.

Знайдіть $A(n)$, $B(n)$ та $C(n)$ за умови $n = {10}^{12}$. Надайте відповідь за модулем $2^{30}$ у вигляді рядка і розділіть значення $A$, $B$ та $C$ комою. Наприклад, для $n = 40$ відповідь така: `31254,20259,11625`.

# --hints--

`lookAndSaySequence()` має повернути рядок.

```js
assert(typeof lookAndSaySequence() === 'string');
```


`lookAndSaySequence()` має повернути рядок `998567458,1046245404,43363922`.

```js
assert.strictEqual(lookAndSaySequence(), '998567458,1046245404,43363922');
```

# --seed--

## --seed-contents--

```js
function lookAndSaySequence() {

  return true;
}

lookAndSaySequence();
```

# --solutions--

```js
// solution required
```
